# AchievementManager.registerListener(TapAchievementListener listener)

以 Promise 风格调用:不支持

# 功能描述

注册成就事件监听器,用于监听成就操作的成功或失败事件。可以注册多个监听器,所有监听器都会收到事件通知。

# 参数

# TapAchievementListener listener

成就事件监听器对象

属性类型必填说明
onAchievementSuccessfunction成就操作成功的回调函数
onAchievementFailurefunction成就操作失败的回调函数

# onAchievementSuccess 回调函数

# 参数
参数类型说明
codenumber操作结果代码
resultTapAchievement成就对象,包含成就的详细信息

# onAchievementFailure 回调函数

# 参数
参数类型说明
idstring成就ID
codenumber错误代码
msgstring错误信息

# 示例代码

const achievementManager = tap.createAchievementManager({
  toastEnable: true
});

// 注册监听器
achievementManager.registerListener({
  onAchievementSuccess: (code, achievement) => {
    console.log('成就解锁成功');
    console.log('成就ID:', achievement.achievementId);
    console.log('成就名称:', achievement.achievementName);
    console.log('成就类型:', achievement.achievementType);
    if (achievement.currentStep !== undefined) {
      console.log('当前进度:', achievement.currentStep);
    }
  },
  onAchievementFailure: (id, code, msg) => {
    console.error('成就操作失败');
    console.error('成就ID:', id);
    console.error('错误码:', code);
    console.error('错误信息:', msg);
  }
});

// 可以注册多个监听器
achievementManager.registerListener({
  onAchievementSuccess: (code, achievement) => {
    // 另一个成功处理逻辑
    updateUI(achievement);
  }
});